One path in the evolution of computer networks is the concept of “grid computing” in which computing resources are pooled or shared for the purpose of running a particular application (or set of applications). Thus, large amounts of computing resources are available to work collaboratively on a processing-intensive problem. For example, in a project for the Search for Extra-Terrestrial Intelligence (SETI), thousands of people have “donated” the idle time of their personal computers. Radio signals are gathered by radio telescopes and provided to the on-line computers through the internet. The computers process the data and return results back to a SETI server in an attempt to identify artificially generated radio signals from space.
Businesses also use grids for more practical purposes, such as in aircraft design or genetic research. Rather than purchase a supercomputer (or lease time on such a computer), a company may find it more economical to establish a grid of less expensive and, individually less powerful, computers. One grid configuration may comprise an array of high availability, enterprise-class computers. However, such a system will typically be cost prohibitive for all but the largest businesses. Another grid configuration may comprise a networked array of personal computer (PC) clients which execute grid applications while the PC's are also being used by the end user. A significant disadvantage of such a configuration is that, for critical grid processing tasks, the overhead associated with sharing resources on a PC client that is already in use severely impacts processing performance, both for the end user and for the grid application.
Consequently, a need remains for a grid configuration which is cost efficient for small and medium sized users.